package com.gavin.export.model;


import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author grl
 * @since 2022-10-21
 */
@Table("users")
public class Users  implements Serializable {

    private static final long serialVersionUID=1L;


    @Id(keyType= KeyType.Auto)
    private Long id;


    private String userNum;


    private String nickName;


    private String account;


    private String accountLink;


    private String lmMark;


    private String lmMarkLink;


    private String password;


    private String linkPwd;


    private Integer userType;


    private Integer userGroup;


    private String uniqueId;


    private String img;


    private String phoneEpuipment;


    private Integer registerWay;


    private String trueName;


    private String idCard;


    private Integer armyStatus;


    private String idCardLink;


    private Integer retryCount;


    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
    private LocalDateTime createTime;


    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
    private LocalDateTime lastLoginTime;


    private Integer isCancellation;


    private Integer loginFiledNum;


    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
    private LocalDateTime loginFiledTime;


    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
    private LocalDateTime passwordUpdateTime;


    private Integer status;


    private Integer isGrey;

    private String lastLoginIp;


    private String province;

    private String city;

    private String district;

    private Integer isFirstLogin = 0;

    private transient Integer screedType;
    
    private transient String apkVersion;
    
//    @Schema(name="用户分组第三方使用标记")
//    private transient String uniqueId;

    private transient Integer goTOlogin;
    
    private Integer IntegrCount;
    
    private String mzUserType;
    
    private Integer userGroupId;

    private JSONObject orgInfos;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserNum() {
        return userNum;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public void setUserNum(String userNum) {
        this.userNum = userNum;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getAccountLink() {
        return accountLink;
    }

    public void setAccountLink(String accountLink) {
        this.accountLink = accountLink;
    }

    public String getLmMark() {
        return lmMark;
    }

    public void setLmMark(String lmMark) {
        this.lmMark = lmMark;
    }

    public String getLmMarkLink() {
        return lmMarkLink;
    }

    public void setLmMarkLink(String lmMarkLink) {
        this.lmMarkLink = lmMarkLink;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getLinkPwd() {
        return linkPwd;
    }

    public void setLinkPwd(String linkPwd) {
        this.linkPwd = linkPwd;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public Integer getUserGroup() {
        return userGroup;
    }

    public void setUserGroup(Integer userGroup) {
        this.userGroup = userGroup;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getPhoneEpuipment() {
        return phoneEpuipment;
    }

    public void setPhoneEpuipment(String phoneEpuipment) {
        this.phoneEpuipment = phoneEpuipment;
    }

    public Integer getRegisterWay() {
        return registerWay;
    }

    public void setRegisterWay(Integer registerWay) {
        this.registerWay = registerWay;
    }

    public String getTrueName() {
        return trueName;
    }

    public void setTrueName(String trueName) {
        this.trueName = trueName;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(LocalDateTime lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Integer getIsCancellation() {
        return isCancellation;
    }

    public void setIsCancellation(Integer isCancellation) {
        this.isCancellation = isCancellation;
    }

    public Integer getLoginFiledNum() {
        return loginFiledNum;
    }

    public void setLoginFiledNum(Integer loginFiledNum) {
        this.loginFiledNum = loginFiledNum;
    }

    public LocalDateTime getLoginFiledTime() {
        return loginFiledTime;
    }

    public void setLoginFiledTime(LocalDateTime loginFiledTime) {
        this.loginFiledTime = loginFiledTime;
    }

    public LocalDateTime getPasswordUpdateTime() {
        return passwordUpdateTime;
    }

    public void setPasswordUpdateTime(LocalDateTime passwordUpdateTime) {
        this.passwordUpdateTime = passwordUpdateTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsGrey() {
        return isGrey;
    }

    public void setIsGrey(Integer isGrey) {
        this.isGrey = isGrey;
    }

    public String getLastLoginIp() {
        return lastLoginIp;
    }

    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }

    public Integer getScreedType() {
        return screedType;
    }

    public void setScreedType(Integer screedType) {
        this.screedType = screedType;
    }

    public String getApkVersion() {
		return apkVersion;
	}

	public void setApkVersion(String apkVersion) {
		this.apkVersion = apkVersion;
	}

	public String getUniqueId() {
		return uniqueId;
	}

	public void setUniqueId(String uniqueId) {
		this.uniqueId = uniqueId;
	}
	
	

	public Integer getGoTOlogin() {
		return goTOlogin;
	}

	public void setGoTOlogin(Integer goTOlogin) {
		this.goTOlogin = goTOlogin;
	}

	public Integer getIntegrCount() {
		return IntegrCount;
	}

	public void setIntegrCount(Integer integrCount) {
		IntegrCount = integrCount;
	}

	public String getMzUserType() {
		return mzUserType;
	}

	public void setMzUserType(String mzUserType) {
		this.mzUserType = mzUserType;
	}

	public Integer getUserGroupId() {
		return userGroupId;
	}

	public void setUserGroupId(Integer userGroupId) {
		this.userGroupId = userGroupId;
	}

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public Integer getIsFirstLogin() {
        return isFirstLogin;
    }

    public void setIsFirstLogin(Integer isFirstLogin) {
        this.isFirstLogin = isFirstLogin;
    }

    public JSONObject getOrgInfos() {
        return orgInfos;
    }

    public void setOrgInfos(JSONObject orgInfos) {
        this.orgInfos = orgInfos;
    }

    public Integer getArmyStatus() {
        return armyStatus;
    }

    public void setArmyStatus(Integer armyStatus) {
        this.armyStatus = armyStatus;
    }

    public String getIdCardLink() {
        return idCardLink;
    }

    public void setIdCardLink(String idCardLink) {
        this.idCardLink = idCardLink;
    }

    public Integer getRetryCount() {
        return retryCount;
    }

    public void setRetryCount(Integer retryCount) {
        this.retryCount = retryCount;
    }

    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", userNum='" + userNum + '\'' +
                ", nickName='" + nickName + '\'' +
                ", account='" + account + '\'' +
                ", accountLink='" + accountLink + '\'' +
                ", lmMark='" + lmMark + '\'' +
                ", lmMarkLink='" + lmMarkLink + '\'' +
                ", password='" + password + '\'' +
                ", linkPwd='" + linkPwd + '\'' +
                ", userType=" + userType +
                ", userGroup=" + userGroup +
                ", img='" + img + '\'' +
                ", phoneEpuipment='" + phoneEpuipment + '\'' +
                ", registerWay=" + registerWay +
                ", trueName='" + trueName + '\'' +
                ", idCard='" + idCard + '\'' +
                ", createTime=" + createTime +
                ", lastLoginTime=" + lastLoginTime +
                ", isCancellation=" + isCancellation +
                ", loginFiledNum=" + loginFiledNum +
                ", loginFiledTime=" + loginFiledTime +
                ", passwordUpdateTime=" + passwordUpdateTime +
                ", status=" + status +
                ", isGrey=" + isGrey +
                ", lastLoginIp='" + lastLoginIp + '\'' +
                ", province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", district='" + district + '\'' +
                ", isFirstLogin=" + isFirstLogin +
                ", screedType=" + screedType +
                ", apkVersion='" + apkVersion + '\'' +
                ", uniqueId='" + uniqueId + '\'' +
                ", goTOlogin=" + goTOlogin +
                ", IntegrCount=" + IntegrCount +
                ", mzUserType='" + mzUserType + '\'' +
                ", userGroupId=" + userGroupId +
                '}';
    }
}
